Interaktivní šablony |
PSPad od verze 3.6.1 umožňuje definovat interaktivní šablony.
Doporučuji napřed přečíst kapitolu, věnující se základům šablon
Co to znamená ?
Šablony dosud pracovaly tak, že na místo kurzoru se vložil text, definovaný v šabloně a nastavila se pozice kurzoru. Pak bylo třeba vložený text upravit.
Nyní máte možnost vložit šablonu včetně zadání hodnot, takže výsledek již není třeba upravovat a je to intuitivnější.
Příklad vložení HTML TAGu:
Dosud: vyvolala se šablona, vložila se do souboru a ručně se doplnily hodnoty, popř. se vymazaly vlastnosti, které nebyly třeba
Nyní: objeví se formulář, ve kterém si vyplníte některé hodnoty a pouze ty vyplněné se vloží do textu. To je samozřejmě možné kombinovat se stávajícími šablonami.
Jak to pracuje ?
Základem je definice ovládacích prvků v sekci [Macro definition] nejlépe na začátku šablony. Tyto ovládací prvky se pak velmi snadno použijí v šablonách.
A proč se definují zvlášť na ne přímo v šablonách ? Důvod je prostý. Spousta šablon používá shodné prvky a tak by se zbytečně zvětšil definiční soubor se šablonami a bylo by to také méně přehledné. A další výhodou je to, že pokud to změníte v této sekci, změnili jste to vlastně ve všech šablonách, kde je to použito.
Vícenásobné použití výsledku:
jméno ovládacího prvku je možno v definici šablony možné použít vícekrát. V tom případě se v dialogu objeví pouze jednou, ale zadaný text bude vložen na všechna místa výskytu (viz poslední příklad).
Formát
%prvek%=@x popisek,úvodní_text,výchozí,možnosti,oddělovač,typ_dialogu
%prvek% - toto jméno v definici šablony určuje, který ovládací prvek bude použit. Může obsahovat pouze znaky a čísla bez mezer.
@x - typ ovládacího prvku (viz. dále)
popisek - text, který se zobrazí před ovládacím prvkem
úvodní_text - text, který bude vložen do do textu před zadanou hodnotou (nepovinný)
výchozí - předvyplněná hodnota v ovládacím prvku (nepovinný)
možnosti - tato část je závislá na použitém ovládacím prvku (nepovinný) (viz dále)
oddělovač - znak(y), které budou vloženy do textu kolem hodnoty (nepovinný)
typ_dialogu - určuje, jak dopadne výsledek dialogu pro otevření souborů (nepovinný)
A (absolutní cesta) nebo R (relativní cesta) a druh lomítka. Viz definice ovládacích prvků.
Nepovinné části není třeba uvádět. Pouze je třeba dodržet počet oddělovacích čárek. Odzadu je možné cokoliv vynechat.
Pokud potřebujete zadat nějaké speciální znaky, např. čárku do výchozího textu nebo výchozí hodnoty, zavřete hodnotu do uvozovek. Viz příklad 3.
Přehled ovládacích prvků:
@-- = Oddělovač
@C = Rozbalovací seznam (Combo box)
@D = Dialog pro zadání data
@E = Editační pole
@F = Rozbalovací seznam pro výběr písma
@K = Zaškrtávací pole (Check box)
@L = Dialog pro výběr barvy
@O = Dialog pro otevření souboru
@P = Dialog pro otevření obrázku s náhledem
@S = Dialog pro výběr adresáře
@T = Editační pole s vyvoláním editoru Topstyle
Definice ovládacích prvků
Oddělovač (Separator)
nemá žádnou funkčnost, pouze zobrazí vodorovnou čáru
%sep%=@--
Editační pole (Edit)
zobrazí obyčené editační pole pro zadání obecné hodnoty
%edit1%=@E Číslo strany:,Page ,,,-
výsledek: Page -12-
%edit2%=@E Jméno autora
výsledek: Jan Fiala
Rozbalovací seznam (ComboBox)
zobrazí editační pole s rozbalovacím seznamem
řetězce v seznamu jsou uvedeny v sekci možnosti a jsou odděleny středníkem
Pokud řetězec obsahuje něco jiného než pouze písmena a čísla, je třeba jednotlivé položky uzavřít do uvozovek (viz druhý příklad)
%combo1%=@C Typ centrování:,CENTER=,left,left;right;center,"
%RGB%=@C RGB barva:,RGB=,,"255,255,255";"#FFFFFF";"FF;FF;FF";"FF FF FF","
výsledek: CENTER="left"
Rozbalovací seznam s fonty (FontBox)
zobrazí editační pole s rozbalovacím seznamem, naplněným názvy fontů, instalovaných v systému.
%fonts%=@F Font face:,font-face=,,,"
výsledek: font-face="Arial"
Dialog pro zadání data
zobrazí editační pole s kalendářem pro interktivní zadání data
%datum%=@D Datum:,DATE=,,,"
výsledek: DATE="12.2.2002"
Zaškrtávací pole (CheckBox)
zobrazí jednoduché zaškrtávací políčko. Pokud je zaškrtnuto, hodnota se v textu objeví. Je-li cokoliv uvedeno v sekci výchozí, políčko bude na formuláři zaškrtnuto
%check%=@K Bez stínu,NoShade
vysledek: NoShade
%check%=@K Nezapomenout,PAMATUJ,,,!!!
vysledek: !!!PAMATUJ!!!
Editační pole s dialogem pro soubor
zobrazí editační pole s tlačítkem vpravo, které umožní výběr a vložení souboru do pole. V sekci možnosti je možno definovat filtr na otevírané soubory. Pokud nebude maska uvedena, bude nastavena na všechny soubory
Nebude-li uveden typ dialogu, platí následující pravidla:
jde-li o HTML, bude nastavena relativní cesta a normální lomítka
nejedná-li se o HTML, bude nastavena absolutní cesta a obrácená lomítka
%file%=@O Odkaz:,href=,,html files (*.htm;*.html)|*.htm;*.html,"
výsledek: href="project/files/soubor.htm"
%file%=@O Odkaz:,,,PAS files (*.pas)|*.pas,',A\
výsledek: 'c:\temp\soubor.pas'
%file%=@O Odkaz:,,,C files (*.c)|*.pas,,R\\
výsledek: project\\source\\soubor.c
Editační pole s dialogem pro obrázek
podobně jako pole s dialogem pro soubor zobrazí editační pole s tlačítkem na vyvolání dialogu možnost výběru obrázku. Tento dialog obsahuje i náhled obrázku. Masku není třeba uvádět. Pro typ dialogu platí to samé jako pro dialog pro soubor.
Jsou-li součástí šablony makra, obsahující v názvu width a height, jsou do nich dosazeny aktuální rozměry obrázku
Jsou-li součástí šablony makra, obsahující v názvu alt nebo title, je do nich dosazen název a velikost obrázku, pokud je obsah prázdný
%pict%=@P Odkaz:,SOURCE=,,,"
výsledek: SOURCE="files\obrazek.png"
Editační pole s dialogem pro výběr adresáře
podobně jako pole s dialogem pro soubor zobrazí editační pole s tlačítkem na vyvolání dialogu pro výběr adresáře. Pro typ dialogu platí to samé jako pro dialog pro výběr souboru.
%pict%=@S Vytvoření adresáře:,CreateDirectory:,,,,A\
výsledek: CreateDirectory:c:\program files\novy adresar
Editační pole (Edit) s vyvoláním editoru CSS TopStyle
zobrazí obyčené editační pole pro zadání obecné hodnoty s tlačítkem, kterým je možno vyvolat TopStyle editor (více v menu HTML) pro editaci inline CSS
%style%=@T Styl,Style=,,,
Editační pole s dialogem pro výběr barvy
podobně jako pole s dialogem pro soubor zobrazí editační pole s tlačítkem na vyvolání dialogu pro výběr barvy. Pro typ dialogu platí to samé jako pro dialog pro výběr souboru.
%color%=@L Výběr barvy:,background:,,,"
výsledek: background="#623488"
Použití v šablonách - příklady
Příklad 1:
[Macro definition]
%file%=@O Odkaz:,href=,,html files (*.htm;*.html)|*.htm;*.html,"
...
[ahref | jednoduchý odkaz <a href=...>...</a>]
<a %file%>|</a>
Při vyvolání šablony se objeví formulář s editačním polem s možností výběru souboru pomocí tlačítka a do textu se vloží:
<a HREF="vybraný soubor.htm"></a>
a kurzor bude stát mezi tagy na místě znaku "|"
Příklad 2:
[Macro definition]
%proc%=@E Jméno procedury:
%autor%=@E Jméno autora:
...
[proc | základ procedury]
// Procedura: %proc%
// Autor: %autor%
procedure %proc%;
begin
|
end; {procedure %proc%}
Při vyvolání šablony se objeví formulář se dvěma editačními poly pro zadání jména procedury a autora. Výsledek v textu bude vypadat:
// Procedura: UkazDialog
// Autor: Jan Fiala
procedure UkazDialog;
begin
end; {procedure UkazDialog}
[Macro definition]
%Number%=@E," ,",,,
[ahref | číslo s čárkou]
%number%
Při opakovaném vyvolávání šablony se do textu bude vkládat vždy čárka a hodnota:
,123, 456, 12, 5